"""
使用正则表达式验证手机号和验证码是否正确
"""
import re


def mobile(mobile_str):
    """
    验证手机号是否合格
    :param mobile_str:
    :return:
    """
    if re.match(r'^1[3-9]\d{9}$', mobile_str):
        return mobile_str
    else:
        raise ValueError(f'{mobile_str} is not valid mobile')


def code_mobile(parttenm):
    """
    :param code:传入的验证码
    :return:
    """

    def code_pattern(code):
        # 如果验证码通过，则返回当前的验证码
        if re.match(parttenm, code):
            return code
        else:
            raise ValueError(f'{code} is  vaild mobile')

    return code_pattern


def email_(email_str):
    """
    验证邮箱是否合格
    :param email_str:
    :return:
    """
    # 邮箱匹配
    email_re = '[0-9a-zA-Z_]{0,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}'
    if re.match(email_re, email_str):
        return email_str
    else:
        raise ValueError(f'{email_str} is a vaild email')
